package com.decorator;

import com.decorator.battleclothes.CloakSupermanDecorator;
import com.decorator.battleclothes.IronSuitSupermanDecorator;
import com.decorator.iface.Superman;
import com.decorator.iface.impl.Ironman;
import com.decorator.iface.impl.ThunderGod;
import com.decorator.kind.SupermanDecorator;

public class Test {
    public static void main(String[] args) {
        // 没穿戴皮肤的超级英雄 & 穿戴皮肤的漫威超级英雄
        Superman ironman_no_suit = new Ironman();
        SupermanDecorator ironman_suit = new IronSuitSupermanDecorator(new Ironman());

        Superman thunderGod_no_suit = new ThunderGod();
        SupermanDecorator thunderGod_suit = new CloakSupermanDecorator(new ThunderGod());

        System.out.println("Ironman with no suit.");
        ironman_no_suit.wear();

        System.out.println("\nIronman with suit.");
        ironman_suit.wear();

        System.out.println("\nThunder God with no suit.");
        thunderGod_no_suit.wear();

        System.out.println("\nThunder God with suit.");
        thunderGod_suit.wear();

    }
}
